<?php

use EasySwoole\EasySwoole\Config;
use EasySwoole\EasySwoole\Core;
use EasySwoole\EasySwoole\Env;

if (!function_exists('config')) {
    /**
     * 获取和设置配置参数
     * @param string $keyPath 配置项名称 支持点语法
     * @return mixed
     */
    function config(string $keyPath = ''): mixed
    {
        return Config::getInstance()->getConf($keyPath);
    }
}

if (!function_exists('env')) {
    /**
     * 获取环境变量值
     * @access public
     * @param string|null $name 环境变量名（支持二级 .号分割）
     * @param string|null $default 默认值
     * @return mixed
     */
    function env(?string $name = null, string $default = null): mixed
    {
        return Env::getInstance()->get($name,$default);
    }
}

if (!function_exists('input')) {
    /**
     * 获取输入数据 支持默认值和过滤
     * @param string $name
     * @param mixed $default 默认值
     * @return mixed
     */
    function input(string $name, mixed $default = null): mixed
    {
        $request = Core::getInstance()->request;
        $value = $request->getRequestParam($name);
        return $value ?? $default;
    }
}